package generator;

/**Esta clase abstracta define métodos que deberán ser implementados por la fábrica de un
 * gridificador específico*/
public abstract class GridifierFactory {
	
	/**Constructor vació de la clase*/
	public GridifierFactory(){
		
	}

	/**@return instancia de un {@link Gridifier} para un middleware específico.*/
	public abstract Gridifier getGridifierInstance();


	/** 
	 * Mediante este método, se obtiene el objeto que usa el gridificador específico para 
	 * representar una clase o interface java
	 * @param fileClassReference 
	 *  es un string que contiene la dirección de un archivo fuente de java.
	 * @return objeto mediante el cual el gridificador específico representa una clase o
	 *  interface Java
	 *  <BR>NOTA: el objeto devuelto formará parte de los pámetros de la llamada al método
	 *  gridify que el {@link Gridifier} devuelto por esta fábrica debe implementar.
	 */
	public abstract Object getClassRepresetation(String fileClassReference);


}
